package com.ruoyi.yqhs.service.impl;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageHelper;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.yqhs.mapper.YqhsScjcsjMapper;
import com.ruoyi.yqhs.domain.YqhsScjcsj;
import com.ruoyi.yqhs.service.IYqhsScjcsjService;

/**
 * 三次监测数据Service业务层处理
 *
 * @author yqhs
 * @date 2025-09-07
 */
@Service
public class YqhsScjcsjServiceImpl implements IYqhsScjcsjService {
    @Autowired
    private YqhsScjcsjMapper yqhsScjcsjMapper;

    /**
     * 查询三次监测数据
     *
     * @param id 三次监测数据主键
     * @return 三次监测数据
     */
    @Override
    public YqhsScjcsj selectYqhsScjcsjById(Long id) {
        return yqhsScjcsjMapper.selectYqhsScjcsjById(id);
    }

    /**
     * 查询三次监测数据列表
     *
     * @param yqhsScjcsj 三次监测数据
     * @return 三次监测数据
     */
    @Override
    public List<YqhsScjcsj> selectYqhsScjcsjList(YqhsScjcsj yqhsScjcsj) {
        return yqhsScjcsjMapper.selectYqhsScjcsjList(yqhsScjcsj);
    }

    /**
     * 新增三次监测数据
     *
     * @param yqhsScjcsj 三次监测数据
     * @return 结果
     */
    @Override
    public int insertYqhsScjcsj(YqhsScjcsj yqhsScjcsj) {
        yqhsScjcsj.setId(IdUtils.getId());
        yqhsScjcsj.setCreateBy(SecurityUtils.getLoginUser().getUsername());
        yqhsScjcsj.setCreateTime(DateUtils.getNowDate());
        return yqhsScjcsjMapper.insertYqhsScjcsj(yqhsScjcsj);
    }

    /**
     * 修改三次监测数据
     *
     * @param yqhsScjcsj 三次监测数据
     * @return 结果
     */
    @Override
    public int updateYqhsScjcsj(YqhsScjcsj yqhsScjcsj) {
        yqhsScjcsj.setUpdateBy(SecurityUtils.getLoginUser().getUsername());
        yqhsScjcsj.setUpdateTime(DateUtils.getNowDate());
        return yqhsScjcsjMapper.updateYqhsScjcsj(yqhsScjcsj);
    }

    /**
     * 批量删除三次监测数据
     *
     * @param ids 需要删除的三次监测数据主键
     * @return 结果
     */
    @Override
    public int deleteYqhsScjcsjByIds(Long[] ids) {
        return yqhsScjcsjMapper.deleteYqhsScjcsjByIds(ids);
    }

    /**
     * 删除三次监测数据信息
     *
     * @param id 三次监测数据主键
     * @return 结果
     */
    @Override
    public int deleteYqhsScjcsjById(Long id) {
        return yqhsScjcsjMapper.deleteYqhsScjcsjById(id);
    }

    @Override
    public BigDecimal selectLastJqkyl(Long jyzId) {
        PageHelper.startPage(1, 1);
        List<Map<String, Object>> list = yqhsScjcsjMapper.selectLastJqkyl(jyzId);

        if (list.size() != 0) {
            return new BigDecimal(list.get(0).get("jqkyl").toString());
        } else {
            return BigDecimal.ZERO;
        }
    }

}
